package com.atguigu.tingshu.search.runners;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.CommandLineRunner;

/**
 * <p>
 * ApplicationRunner 和  CommandLineRunner的区别
 * 1、参数类型不同，ApplicationRunner的run方法解析命令行参数更加简单  CommandLineRunner的区别的run方法解析命令行参数复杂
 * 2、回调时机不同。ApplicationRunner的run方法会先调用 在调用 CommandLineRunner的区别的run。
 */

//@Component
public class MyCustomerRunner implements ApplicationRunner, CommandLineRunner {


    /**
     * 在springboot容器启动过程中会回调到自定义的ApplicationRunner实现类的run()
     * <p>
     * ApplicationArguments:能够获取到应用启动时候指定的命令行参数
     * 可选项参数:--指定的参数
     * 非可选项参数：不加--指定的参数
     *
     * @param args incoming application arguments
     * @throws Exception
     */

    @Override
    public void run(ApplicationArguments args){
    }


    @Override
    public void run(String... args) throws Exception {
        System.out.println("参数：" + args);
    }
}
